<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
    <script>
        //1.0 先声明一个最简单的coder类，
        // 类里只有一个name方法
        // ，方法中打印出传递的参数。
        class Coder{
            name(val){
                console.log(val);
            }
        }
// <!-- 
//   2.0  类的使用
// 我们已经声明了一个类，
// 并在类里声明了name方法
// ，现在要实例化类，并使用类中的方法。 -->

  let  lei=new Coder;
  lei.name('你好');


// 3.0类的多方法声明
class Men {
    name(na){
        console.log(na);
        return na;
    }
    age(ag){
        console.log(this.name('李四')+ ag)
    }
    


}

let  zs=new Men;
zs.name('张三');
zs.age('18');

// 这里需要注意的是两个方法中间不要写逗号了，
// 还有这里的this指类本身，
// 还有要注意return 的用法。



// 4.0  类的传参
// 在类的参数传递中我们用constructor( )进行传参。
// 传递参数后可以直接使用this.xxx进行调用。
class Ren{
    name(val){
        console.log(val);
    }
    age(val){
        console.log(this.name('zhangna ')+val);
    }
    constructor(a,b){
        this.a=a;
        this.b=b;
    }
    add(){
        console.log(this.a+this.b);
        return this.a+this.b;
    }
}


let lisi=new Ren(10,20);

lisi.add();

    </script>
</body>
</html>